{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Rental Listing Inquiries\n",
    "========================\n",
    "数据探索\n",
    "------------------------------\n",
    "> Rental Listing Inquiries数据集是Kaggle平台上的一个分类竞赛任务，需要根据公寓的特征来预测其受欢迎程度（用户感兴趣程度分为高、中、低三类）。其中房屋的特征x共有14维，响应值y为用户对该公寓的感兴趣程度。评价标准为logloss"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import seaborn as sns\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "from sklearn.model_selection import train_test_split, GridSearchCV, cross_val_score\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "一、数据读入及其基本描述\n",
    "-------------------"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>bathrooms</th>\n",
       "      <th>bedrooms</th>\n",
       "      <th>price</th>\n",
       "      <th>price_bathrooms</th>\n",
       "      <th>price_bedrooms</th>\n",
       "      <th>room_diff</th>\n",
       "      <th>room_num</th>\n",
       "      <th>Year</th>\n",
       "      <th>Month</th>\n",
       "      <th>Day</th>\n",
       "      <th>...</th>\n",
       "      <th>walk</th>\n",
       "      <th>walls</th>\n",
       "      <th>war</th>\n",
       "      <th>washer</th>\n",
       "      <th>water</th>\n",
       "      <th>wheelchair</th>\n",
       "      <th>wifi</th>\n",
       "      <th>windows</th>\n",
       "      <th>work</th>\n",
       "      <th>interest_level</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1.5</td>\n",
       "      <td>3</td>\n",
       "      <td>3000</td>\n",
       "      <td>1200.0</td>\n",
       "      <td>750.000000</td>\n",
       "      <td>-1.5</td>\n",
       "      <td>4.5</td>\n",
       "      <td>2016</td>\n",
       "      <td>6</td>\n",
       "      <td>24</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1.0</td>\n",
       "      <td>2</td>\n",
       "      <td>5465</td>\n",
       "      <td>2732.5</td>\n",
       "      <td>1821.666667</td>\n",
       "      <td>-1.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>2016</td>\n",
       "      <td>6</td>\n",
       "      <td>12</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1.0</td>\n",
       "      <td>1</td>\n",
       "      <td>2850</td>\n",
       "      <td>1425.0</td>\n",
       "      <td>1425.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>2016</td>\n",
       "      <td>4</td>\n",
       "      <td>17</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1.0</td>\n",
       "      <td>1</td>\n",
       "      <td>3275</td>\n",
       "      <td>1637.5</td>\n",
       "      <td>1637.500000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>2016</td>\n",
       "      <td>4</td>\n",
       "      <td>18</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1.0</td>\n",
       "      <td>4</td>\n",
       "      <td>3350</td>\n",
       "      <td>1675.0</td>\n",
       "      <td>670.000000</td>\n",
       "      <td>-3.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>2016</td>\n",
       "      <td>4</td>\n",
       "      <td>28</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 228 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   bathrooms  bedrooms  price  price_bathrooms  price_bedrooms  room_diff  \\\n",
       "0        1.5         3   3000           1200.0      750.000000       -1.5   \n",
       "1        1.0         2   5465           2732.5     1821.666667       -1.0   \n",
       "2        1.0         1   2850           1425.0     1425.000000        0.0   \n",
       "3        1.0         1   3275           1637.5     1637.500000        0.0   \n",
       "4        1.0         4   3350           1675.0      670.000000       -3.0   \n",
       "\n",
       "   room_num  Year  Month  Day       ...        walk  walls  war  washer  \\\n",
       "0       4.5  2016      6   24       ...           0      0    0       0   \n",
       "1       3.0  2016      6   12       ...           0      0    0       0   \n",
       "2       2.0  2016      4   17       ...           0      0    0       0   \n",
       "3       2.0  2016      4   18       ...           0      0    0       0   \n",
       "4       5.0  2016      4   28       ...           0      0    1       0   \n",
       "\n",
       "   water  wheelchair  wifi  windows  work  interest_level  \n",
       "0      0           0     0        0     0               1  \n",
       "1      0           0     0        0     0               2  \n",
       "2      0           0     0        0     0               0  \n",
       "3      0           0     0        0     0               2  \n",
       "4      0           0     0        0     0               2  \n",
       "\n",
       "[5 rows x 228 columns]"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dpath = '.\\\\data\\\\'\n",
    "dpath_out = '.\\\\out\\\\'\n",
    "data_train = pd.read_csv(dpath + 'RentListingInquries_FE_train.csv')\n",
    "data_test = pd.read_csv(dpath + 'RentListingInquries_FE_test.csv')\n",
    "data_train.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(49352, 228)"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_train.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 49352 entries, 0 to 49351\n",
      "Columns: 228 entries, bathrooms to interest_level\n",
      "dtypes: float64(9), int64(219)\n",
      "memory usage: 85.8 MB\n"
     ]
    }
   ],
   "source": [
    "data_train.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>bathrooms</th>\n",
       "      <th>bedrooms</th>\n",
       "      <th>price</th>\n",
       "      <th>price_bathrooms</th>\n",
       "      <th>price_bedrooms</th>\n",
       "      <th>room_diff</th>\n",
       "      <th>room_num</th>\n",
       "      <th>Year</th>\n",
       "      <th>Month</th>\n",
       "      <th>Day</th>\n",
       "      <th>...</th>\n",
       "      <th>walk</th>\n",
       "      <th>walls</th>\n",
       "      <th>war</th>\n",
       "      <th>washer</th>\n",
       "      <th>water</th>\n",
       "      <th>wheelchair</th>\n",
       "      <th>wifi</th>\n",
       "      <th>windows</th>\n",
       "      <th>work</th>\n",
       "      <th>interest_level</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>49352.00000</td>\n",
       "      <td>49352.000000</td>\n",
       "      <td>4.935200e+04</td>\n",
       "      <td>4.935200e+04</td>\n",
       "      <td>4.935200e+04</td>\n",
       "      <td>49352.000000</td>\n",
       "      <td>49352.000000</td>\n",
       "      <td>49352.0</td>\n",
       "      <td>49352.000000</td>\n",
       "      <td>49352.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>49352.000000</td>\n",
       "      <td>49352.000000</td>\n",
       "      <td>49352.000000</td>\n",
       "      <td>49352.000000</td>\n",
       "      <td>49352.000000</td>\n",
       "      <td>49352.000000</td>\n",
       "      <td>49352.000000</td>\n",
       "      <td>49352.000000</td>\n",
       "      <td>49352.000000</td>\n",
       "      <td>49352.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>1.21218</td>\n",
       "      <td>1.541640</td>\n",
       "      <td>3.830174e+03</td>\n",
       "      <td>1.697863e+03</td>\n",
       "      <td>1.657567e+03</td>\n",
       "      <td>-0.329460</td>\n",
       "      <td>2.753820</td>\n",
       "      <td>2016.0</td>\n",
       "      <td>5.014852</td>\n",
       "      <td>15.206881</td>\n",
       "      <td>...</td>\n",
       "      <td>0.003080</td>\n",
       "      <td>0.000385</td>\n",
       "      <td>0.186477</td>\n",
       "      <td>0.009361</td>\n",
       "      <td>0.000446</td>\n",
       "      <td>0.028165</td>\n",
       "      <td>0.002026</td>\n",
       "      <td>0.001013</td>\n",
       "      <td>0.000952</td>\n",
       "      <td>1.616895</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>0.50142</td>\n",
       "      <td>1.115018</td>\n",
       "      <td>2.206687e+04</td>\n",
       "      <td>1.100477e+04</td>\n",
       "      <td>7.817996e+03</td>\n",
       "      <td>0.947732</td>\n",
       "      <td>1.446091</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.824442</td>\n",
       "      <td>8.280749</td>\n",
       "      <td>...</td>\n",
       "      <td>0.055412</td>\n",
       "      <td>0.019618</td>\n",
       "      <td>0.389495</td>\n",
       "      <td>0.101625</td>\n",
       "      <td>0.021109</td>\n",
       "      <td>0.165446</td>\n",
       "      <td>0.044969</td>\n",
       "      <td>0.031814</td>\n",
       "      <td>0.030846</td>\n",
       "      <td>0.626035</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>4.300000e+01</td>\n",
       "      <td>2.150000e+01</td>\n",
       "      <td>4.300000e+01</td>\n",
       "      <td>-5.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>2016.0</td>\n",
       "      <td>4.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>1.00000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>2.500000e+03</td>\n",
       "      <td>1.225000e+03</td>\n",
       "      <td>1.066667e+03</td>\n",
       "      <td>-1.000000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>2016.0</td>\n",
       "      <td>4.000000</td>\n",
       "      <td>8.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>1.00000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>3.150000e+03</td>\n",
       "      <td>1.500000e+03</td>\n",
       "      <td>1.383417e+03</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>2016.0</td>\n",
       "      <td>5.000000</td>\n",
       "      <td>15.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>2.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>1.00000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>4.100000e+03</td>\n",
       "      <td>1.850000e+03</td>\n",
       "      <td>1.962500e+03</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>4.000000</td>\n",
       "      <td>2016.0</td>\n",
       "      <td>6.000000</td>\n",
       "      <td>22.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>2.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>10.00000</td>\n",
       "      <td>8.000000</td>\n",
       "      <td>4.490000e+06</td>\n",
       "      <td>2.245000e+06</td>\n",
       "      <td>1.496667e+06</td>\n",
       "      <td>8.000000</td>\n",
       "      <td>13.500000</td>\n",
       "      <td>2016.0</td>\n",
       "      <td>6.000000</td>\n",
       "      <td>31.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>2.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>8 rows × 228 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "         bathrooms      bedrooms         price  price_bathrooms  \\\n",
       "count  49352.00000  49352.000000  4.935200e+04     4.935200e+04   \n",
       "mean       1.21218      1.541640  3.830174e+03     1.697863e+03   \n",
       "std        0.50142      1.115018  2.206687e+04     1.100477e+04   \n",
       "min        0.00000      0.000000  4.300000e+01     2.150000e+01   \n",
       "25%        1.00000      1.000000  2.500000e+03     1.225000e+03   \n",
       "50%        1.00000      1.000000  3.150000e+03     1.500000e+03   \n",
       "75%        1.00000      2.000000  4.100000e+03     1.850000e+03   \n",
       "max       10.00000      8.000000  4.490000e+06     2.245000e+06   \n",
       "\n",
       "       price_bedrooms     room_diff      room_num     Year         Month  \\\n",
       "count    4.935200e+04  49352.000000  49352.000000  49352.0  49352.000000   \n",
       "mean     1.657567e+03     -0.329460      2.753820   2016.0      5.014852   \n",
       "std      7.817996e+03      0.947732      1.446091      0.0      0.824442   \n",
       "min      4.300000e+01     -5.000000      0.000000   2016.0      4.000000   \n",
       "25%      1.066667e+03     -1.000000      2.000000   2016.0      4.000000   \n",
       "50%      1.383417e+03      0.000000      2.000000   2016.0      5.000000   \n",
       "75%      1.962500e+03      0.000000      4.000000   2016.0      6.000000   \n",
       "max      1.496667e+06      8.000000     13.500000   2016.0      6.000000   \n",
       "\n",
       "                Day       ...                walk         walls           war  \\\n",
       "count  49352.000000       ...        49352.000000  49352.000000  49352.000000   \n",
       "mean      15.206881       ...            0.003080      0.000385      0.186477   \n",
       "std        8.280749       ...            0.055412      0.019618      0.389495   \n",
       "min        1.000000       ...            0.000000      0.000000      0.000000   \n",
       "25%        8.000000       ...            0.000000      0.000000      0.000000   \n",
       "50%       15.000000       ...            0.000000      0.000000      0.000000   \n",
       "75%       22.000000       ...            0.000000      0.000000      0.000000   \n",
       "max       31.000000       ...            1.000000      1.000000      1.000000   \n",
       "\n",
       "             washer         water    wheelchair          wifi       windows  \\\n",
       "count  49352.000000  49352.000000  49352.000000  49352.000000  49352.000000   \n",
       "mean       0.009361      0.000446      0.028165      0.002026      0.001013   \n",
       "std        0.101625      0.021109      0.165446      0.044969      0.031814   \n",
       "min        0.000000      0.000000      0.000000      0.000000      0.000000   \n",
       "25%        0.000000      0.000000      0.000000      0.000000      0.000000   \n",
       "50%        0.000000      0.000000      0.000000      0.000000      0.000000   \n",
       "75%        0.000000      0.000000      0.000000      0.000000      0.000000   \n",
       "max        2.000000      1.000000      1.000000      1.000000      1.000000   \n",
       "\n",
       "               work  interest_level  \n",
       "count  49352.000000    49352.000000  \n",
       "mean       0.000952        1.616895  \n",
       "std        0.030846        0.626035  \n",
       "min        0.000000        0.000000  \n",
       "25%        0.000000        1.000000  \n",
       "50%        0.000000        2.000000  \n",
       "75%        0.000000        2.000000  \n",
       "max        1.000000        2.000000  \n",
       "\n",
       "[8 rows x 228 columns]"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_train.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "False"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# def FindNonZeros(x):\n",
    "#     return pd.Series([ i for i in x if i != 0])\n",
    "    \n",
    "# data.isnull().sum().aggregate(FindNonZeros)\n",
    "data_train.isnull().sum().any()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "> 表明数据没有空值"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "二、变量分析及相关性探索\n",
    "--------------------\n",
    "> 分析仅在原始特征上进行"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2    34284\n",
      "1    11229\n",
      "0     3839\n",
      "Name: interest_level, dtype: int64\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1a184b72d30>"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1a184b68d30>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "print(data_train['interest_level'].value_counts())\n",
    "sns.countplot(data_train['interest_level'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1a184b7ddd8>"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1a1847cfd30>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.countplot(data_train['bathrooms'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1a184b18588>"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYIAAAELCAYAAADURYGZAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAIABJREFUeJzt3X10XHd95/H3d0YzI2n06EROnDiRHxITB5MHakICBUxIqJukS2CXJaElaTZnc9gFQkpoG1qWbjktZw/0AUjptjmlbdoEQiB0A8Y0pNRNWghO5DyAE8fk0UaJY8nW04xGGs3Dd/+4M5L8qLFs6Wp0P69z5szc0Z25X3uk+5nf73fv75q7IyIi0RULuwAREQmXgkBEJOIUBCIiEacgEBGJOAWBiEjEKQhERCJOQSAiEnEKAhGRiFMQiIhEXEPYBdTi5JNP9hUrVoRdhohIXdm2bds+d++aab26CIIVK1bQ09MTdhkiInXFzHbVsp66hkREIk5BICIScQoCEZGIUxCIiEScgkBEJOIUBCIiEacgEBGJuDkLAjP7WzPrM7Pt055bYmYPmtlzlfvOudq+iIjUZi5bBH8PbDzouduAH7r72cAPK8siIvNu27ZtfPjDHyafz4ddSujmLAjc/WFg4KCn3wPcWXl8J3D1XG1fRORobr/9dp555hn6+vrCLiV08z1GcIq77wGo3C+d5+2LiAAwMTEBgLuHXEn4FuxgsZndZGY9ZtbT398fdjkiskiZWdglhG6+g2CvmS0DqNwfsU3m7ne4+3p3X9/VNePkeSIiMkvzHQTfAa6vPL4euH+ety8iIgeZy8NHvw48ArzOzHrN7Ebg/wCXm9lzwOWVZRERCdGcXY/A3a89wo/eNVfbFBGRY7dgB4tFRGR+KAhERCJOQSAiEnEKAhGRiFMQiIhEnIJARCTiFAQiIhGnIBARiTgFgYhIxCkIREQiTkEgIhJxCgIRkYhTEIiIRJyCQEQk4hQEIiIRpyAQEYk4BYGISMQpCEREIk5BICIScQoCEZGIUxCIiEScgkBEJOIUBCIiEacgEBGJOAWBiEjEKQhERCJOQSAiEnEKAhGRiFMQiIhEnIJARCTiQgkCM/stM3vazLab2dfNrDGMOkREJIQgMLPTgZuB9e6+DogD18x3HSIiEgira6gBaDKzBqAZeDWkOkREIm/eg8DdXwH+BNgN7AGG3f0HB69nZjeZWY+Z9fT39893mSIikRFG11An8B5gJXAakDaz3zh4PXe/w93Xu/v6rq6u+S5TRCQywugaugx4yd373b0AfBt4Swh1iIgI4QTBbuBiM2s2MwPeBewIoQ4RESGcMYKtwLeAx4GfVWq4Y77rEBGRQEMYG3X3PwD+IIxti4jIgXRmsYhIxCkIREQiTkEgIhJxCgIRkYhTEIiIRJyCQEQk4hQEIiIRpyAQEYk4BYGISMQpCEREIk5BICIScQoCEZGIUxCIiEScgkBEIs3dwy4hdAoCEYm04PpY0aYgEBGJOAWBiEjEKQhERCJOQSAiEnEKAhGRiFMQiIhEnIJARCTiFAQiIhGnIBCRSNOZxQoCEYk4nVmsIBARiTwFgYhIxB1zEJhZzMza5qIYERGZfzUFgZl9zczazCwNPAPsNLPfntvSRERkPtTaIjjX3UeAq4HNwJnAh2a7UTPrMLNvmdmzZrbDzC6Z7XuJiMjxqTUIEmaWIAiC+929ABzPMVdfAv7Z3c8Bzgd2HMd7iYjIcag1CP4aeBlIAw+bWTcwMpsNVsYX3g58FcDdJ9x9aDbvJSJyvHQeQY1B4O5fdvfT3f0KD+wC3jnLba4C+oG/M7MnzOxvKmMPIiLzTucRQEMtK5lZB3AdsOKg19w8y22+EfiYu281sy8BtwH/66Bt3gTcBHDmmWfOYjMiIjNTi6D2rqHNBCHwM2DbtNts9AK97r61svwtgmA4gLvf4e7r3X19V1fXLDclInJ0ahHU2CIAGt39Eydig+7+mpn9wsxe5+47gXcRHJIqIjLv1CKoPQj+0cz+O7AJyFefdPeBWW73Y8DdZpYEXgRumOX7iIgcF7UIag+CCeALwO8zddioEwz8HjN3fxJYP5vXiojIiVVrEHwCOMvd981lMSIiMv9qHSx+GsjNZSEiIvNJYwNTam0RlIAnzWwLB44RzObwURERWUBqDYL/V7mJiMgiU1MQuPudlSN81lSe2lmZb0hEpC7paKEptZ5ZvAG4k2C+IQPOMLPr3f3huStNRGTuaayg9q6hPwXeXTkBDDNbA3wd+KW5KkxEZC5VA0Atg2OYhroaAgDu/nMgMTcliYjIfKq1RdBjZl8F/rGy/OvMfq4hEZHQqSUwpdYg+B/ARwhmGzXgYeAv56ooERGZP7UeNZQ3s78AHiSYWkJHDYmILBI6akhEIk1HDemoIRGJKB01NEVHDYmIRJyOGhKRSFJLYIqOGhKRSNLYwJQZg8DM4sBX3f03gD+b+5JERGQ+zThG4O4loKsy6ZyIyKJQ7RpSy6D2rqGXgR+Z2XeA0eqT7q4WgojUNY0V1B4Er1ZuMaB17soREZkfaglMqfXM4j+c60JERCQctZ5ZvAb4JLBi+mvc/dK5KUtEZG5pjGBKrV1D3wT+CvgbgusXi4jUNZ1ZPKXWICi6+/+d00pERCQURw0CM1tSefhdM/ufwD8B+erP3X1gDmsTEZF5MFOLYBvBtNPVttNvT/uZA6vmoigREZk/Rw0Cd18JYGaN7j4+/Wdm1jiXhYmIzCWNDUypdfbRH9f4nIhIXdFRQzOPEZwKnA40mdmFTHURtQHNc1ybiMicU8tg5jGCXwF+E1jOgRPOZYDfm6OaRETmXLUloBbBzGMEdwJ3mtl/dvf7TuSGK7Oa9gCvuPtVJ/K968m+ffsYHh5m9erVYZcis5DL5WhqatK3yjqmz67GMQJ3v8/MrjSz3zGzz1Rvx7ntjwM7jvM96t6nP/1pbrjhhrDLkFkoFAps3LiRu+++O+xS5DiUy+WwSwhdTUFgZn8FfAD4GME4wfuB7tlu1MyWA1cSnKkcac8880zYJcgsTUxMAHDXXXeFXIkcj3w+P/NKi1ytRw29xd2vAwYrE9BdApxxHNv9IvA7wBGj2MxuMrMeM+vp7+8/jk2JzC31Mde3TCYTdgmhqzUIxir3OTM7DSgAK2ezQTO7Cuhz96Ne89jd73D39e6+vqurazabEplT6lteHJJJXXOr1rmGNplZB/B5pi5aP9tunbcC/8nMrgAagTYzu6tyKUyRuqGWwOKQTqfDLiF0tQbBnxBcwP5twCPAvwOzmoTO3T8FfArAzDYAn1QIiEhYEolE2CWErtYguJPg3IEvV5avBf4B+K9zUZRIPVDXkCwWtQbB69z9/GnLW8zsqePduLv/G/Bvx/s+IiIye7UOFj9hZhdXF8zszcCP5qYkERGZTzPNNfQzgummE8B1Zra7stwN6AB4EZFFYKauochO/SAii5uuWTxlprmGds1XISIi80kBMKXWMQIRkUVJcw0pCEQk4uLxeNglhE5BICIScQoCEZGIUxCIiEScgkBEIklThExREIhIJJVKpQPuo0xBIDJLOuywvhWLRQB6e3tDriR8CgKRWRoaGgIUCPVqohBcalSXi1UQLBjV699K/di7dy+gvuZ6NDAwwPDQMKAgAAXBgqFvlfVH4V2/XnrpJQA84bzw4gshVxM+BcECkUqlwi5BjlH1Wtqas6b+rFmzhlgshhWM895wXtjlhE5BsECoe6H+nHzyyQDEYvozqjetra20t7cDcNlll4VcTfj0GywyS7rWbX1rbm4GoLu7O+RKwqcgEJklteIWh4aGWq/Yu3gpCEQk0hToCgIRiTgN9isIRGZNO5D6Vv38crlcyJWET0EgIpFU7RLq7+8PuZLwKQhEZkl9y4vD2NhY2CWETkEgMkvqGlocqpPPRZmCQEQiqTr9dPUM8ShTEIhIJFUvWq8gUBCIzJrGCOpb9fOrBkKUKQhEJJLy+TwA4+PjIVcSvnkPAjM7w8y2mNkOM3vazD4+3zUsRBqwqj/V4881HXV9ymazAPT09IRcSfjCaBEUgVvdfS1wMfARMzs3hDpCVSgUuPfeeyeXP//5zzMyMhJiRVKriYkJHn30UW677XeBYNDxrrvuoq+vL+TKZCZ9fX187Wtf47rrr5s8bPSv7/hrbvvUbWzZsmWylRA1FvYhcGZ2P/AX7v7gkdZZv369L5bUzuVy3H///Xzj3nsZ2L+fUscZlBvbSby2nWQqxVVXXsk111zDqaeeGnapMk1vby+PPfYYW7du5fFt2xjP52lLwdXdObYPJHh8XzAT6coV3Vx8yVu46KKLWLduna4zsQDkcjm2bNnCAz94gKeefCo47PckKHeX8VMde96I98bxnNPU3MQ7N7yTd7/73bzxjW8Mu/TjZmbb3H39jOuFGQRmtgJ4GFjn7kf8OrxYgmDr1q387z/8Q0azWUptp1FY9gZK7cvBDMvtJ7FnO4n9LxCLGf/thhu47rrrwi458rZu3cqf/+mf8OprwWUpu5rhvCXjnH9SkXOXFGiMgzv0jsZ4al+Cn+5PsnO4gVIZUskE79iwgd///U9rYDlEX/jCF/jud7+LtRqlM0v4mQ4tB63kQB/YbiP+ShwvOF/+8pe54IILwij5hKk1CEIbLDazFuA+4JbDhYCZ3WRmPWbWs1hOAe/p6WE0m6Ww9BzGX7eRUscZUNlBePNJTKx6O/mVv0y5VOKhhx8OuVqBIAiqIXDNWTn++KJBbjhnjDd2BSEAwUd4RkuZq1bkue2NGT51YYY1HQXyEwV+8IMHJ49Xl3C8+c1vBqC0poSfe5gQADDgFPD1jnc4be1trFmzZl7rDFMoE3GbWYIgBO52928fbh13vwO4A4IWwTyWN2cuv/xyHuvZxosvPEtyuJf80nMpnLIWYg3EB14k9dp2LNtPZ+cSrr3mmrDLFWDjxo3s2bOHx7f1cM/zcO8LzazpKHLeSRNctLTAqc1lCmXY1pfgyf0JfjaQYrjSzbx61Ureddnlmu8+ZG9729t4/brX8/TjT+N7nfLqMnQR7PyripXWwAtxfMi58bdunLxwTRTMe9eQBW3kO4EBd7+lltcslq4hCKYl+MlPfsI999zDE088AU3tlOIp4tk+Tl++nGs+8AE2btyovuUFplgssn37dh599FF+8siPef6FF4nH4JdOnuCVXIJXskZrS5o3XfRmLr74YtavXz95KUsJ38DAAPfccw+bvreJbCaLtRml1SX8ZMdeMuK7gu6glatW8v7/8n6uuOKKRXEJ0gU7RmBmvwz8O/AzoFx5+vfcffORXrOYgmC6xx57jFtvvRWAm266iQ9+8IOL4pcvCvr6+vjKV77Cli1bAPjc5z7HJZdcopOTFrh8Ps8Pf/hD7vv2fTz38+eA4ISyDRs28L73vY9169YtqvGcBRsEs7FYgwDg7W9/OwAPPfTQovoFjILh4WF+7dd+jWQyyb/8y7+EXY4cA3fnve99LwMDA3z2s59lw4YNYZc0Jxb8YLEcSCFQf6oXr1croP6YGclkEtDF60FBIDJr9dCaliOrBri6YxUEIrOmIKhv1alB9u/fH3Il4VMQiMzS6Oho2CXILJXL5ckpXX784x+HXE34FAQiszQ8PAyoZVCPdu/ePTmvUM+2xXkgyrFQEIjMUjUANNBff6af43HK0lNCrGRhUBCIzFJ7ezugFkE9amlpoaOzA4Czzjor5GrCpyAQmaV0Og2oRVCvkong8NGzzz475ErCpyAQmSUddljfqp/fmWeeGXIl4dNvsohEWvVKc1GmaRFDUCwW2bt3Lw888MDkc5/73Od43/vex8qVKzXhXB3IZDKT00qMjY2xe/duTj/9dJ1lvEBls1l27tzJjh072LFjB8/seIb9+4LzBz760Y/SvaKb15/7es455xzOOeccVq1aFalZYzXX0AlSKpXI5XJks1lGR0cn74eHh3nttdd47bXX2LNnD6/u2cP+ffsol8uAUWo/HbcYicyreCm4bnF7RwfLli3jtGXLOPXUU1m2bBmdnZ2k02laWloOuK9OcyAnRj6fJ5vNHnLLZDK8+uqrvPjiC7zw/PPsHxg85LWpZILuFStYvfosVqxYQUdHBy0tLbS2ttLS0jJ5a25uVrfSHHB3RkdHGRkZYf/+/ezcuZNnn32W7c9s59XeVyfXs1aj1FGCJQR9IuNgA0ZsKIbng/1hIpHg7LPPZu3ataxdu5ZVq1bR3t5OW1tbXX1R06RzNSoWi+RyOXK5HKOjo+RyOcbGxg5Yrt6qO/fR0VEymSyZyk4ilxslPz5+1O1YYwulRJpyspVyqgVPtVJqPRUrjhMf2UOp+SSslCeWz2D5LLF8hobCKJ7PQLl8xPdNJJI0p5tJp1tobUlP7myqYdHc3Ew6naa5ufmwt3Q6TVNTE8lksi4HPYvFImNjY4yNjTE+Pn7I48M9V/18s9ksmZFhMpkM2WyG7GiOQqF4xG01xOD0ljJnNBdY3lIiHnPyxRinNJeYKBu/yMbpzcb5xWiS4fyR/67MjHRzEy3pNC2trbS0tk2GRVNTE01NTTQ2Nh71cWNjI83NzTQ2NpJKperyszuaQqHA8PAwIyMjjIyMTD6e/lx1eXB4kJHhEbLZLOXSgX8rseYYpY4SvsTxTg92/snKD/eD9Rm+NLh0JQ6MBqHAAMQGY9iQ4cUDP8tEMkFrWysdbR10dHRMBkRbW9vk44Ofa2lpCSX8Ix8E7k5vby/PPvsszz77LL29vcEOPDtKLjdKLjfG2FiOYqFQ0/tZrAESSYgnKccSlGMJPJ7EG4LnvHKjIYnHg58RT+INKTyZhtihXQaxzF46d23hqiuuYNPmzQx2v5Ny60HHNHsZmxjDimNQmsCKBaw0ETyevC9gxeBxrFwgVg6eo5jHi7X9+2LxOI2NTZVwCAKiJZ2mq6trsrm8evXqOW8uFwoF+vv76evrO+C2d+9eBvbvY2wsx1iuslMfz1M8hqt/GZBqMFIN0Bx3mhtKNMfLNCec5gYn3RDcNyfKBy0H920JJ175W35uKM4Xdyxl4xVX8c+bN3HL2j7O7piqZbRgwa1o5Kq3Iy7HyJXi5IoxxkuQLzrFI2f/of8uMxpTSRobUzQ2BoHR1tZO19KlnHLKKSyddr906VJaWlpCCY7du3ezZ8+eI+7gh4aHJpfz40e+iLzFDUsZnnTKiTIkwVMe7OCTQKqy3AE0HeFN9kP60TRX/epVbPr+JkYvGg3C4GBlYATIguUNJghuebAJwyaMWCEGeShPlIMwOVzNZqRb0rS1tdHR0UFHe8dkUBwcHGeffTZtbW21/8ceRa1BsCg7wR599FE++clPHnWdcqIZT3Xiba2Uky14Ko03NFZ26gk8noDqfSwJc5Dm8ZE9XHXFFdz8sY8CztceeenQILBYUFsqPbuNeBlKxSAYqgFRKlTCI49NZLGJUWL5LMV8ltF9/ezrP/C3+Xvf+97k4xtvvJHrr79+drXM4Jvf/Ca33377jOslY86SxjJntJVZkirTnnLak2Xakk5Tg5OKO43x4D4VZ/JxMjZ5ZdDjtmMwwcYrruIjH7sZB3Y8/o8HBEE64aQTs/+SVSxDvmRBMJRs2g3GS0amYAznY4xMxBjIGwP5AoOjY+wZOuKlvw/wr//6r/PaB97f38+HPvShms658ETwDd1bHVrB2zzYoacIdvRxDry62CxYn3HVr17FzR+7GYB7d9yLn3SY2mIEgdIBftBevrpcolR9AgpMBUXWIAM2YnjGyWQzZDNZXn3lVY7mwgsv5Etf+tJx/fuO1aIMgpNOmor2eDxOR+cSxsZy5KbNDRMr5KCQg2zf1AsthjUkJwOgbA14LHGYYDjccuXbfyIIk1r2OKW2ZWzavBlwNm3+PqXud878j3OHchErjGPF8cmdenUnP7mjL0/t8KvL8XJx8nkvTkD56N+mU6lG0i0tlW/hwZEVczll73nnnUdDQwPFYpFkMhl0faSSFAoFstks+YmgdTNRNl7LxXktd2grKxGHxgabCoNYmVSsXAkDaGxwUjEn1eBTz1WCIt3gtCad1kSZ1qSTOEr2r+0s8MXNm3Dggc2buGXt0VteZYdc0chMBDvxTCHGePHQHf14ZUcfPK48X46RL8Wmfl50ZtqfxsxIp5tpSacpFEvkKl1i7s7VV18974PaXV1d3H777fT29jI0NMTg4ODk/eDQIAMDAwwPD1MsFLGCBd02+6f+hqzBsEajnCzjKQ++8aeYvHmqEhYt1LRX86XOpu9vAmDT9zfhF9UQ2g7kgWxwb3kLlsenlmMTMWzCKI+Xpy67dZCm5iY6OjpY0rmEJUuWBC2Eyq2zs5N169bNXMsJtmi7hg6nVCpNDiZlMplDbtPHA6pjBdkDxgnGGB8fozxTd4TFsGQj3tBEKR6Egzc04okmvKGRcvMSyumTIRYnltkbjBG0LaPcshQbGyI+2o8VxrDCOBSD+3gpT6w4DhNjePnI/dgQNENTjU00NQX9yOnmNOn0kccI2tqCPurqra2tjZaWlgU3ED0xMVHpz88e8Lkd3P9/6JhAEGRjuVylS2mc8fE85Rl+95sajNaU0xov0Zos0ZoIguKUphKvX1JkZMJ4djDB2s4CZ7SU2DHUwIvDDYwUjMxELNjhFxuCxxNOeYY/tWQiQVNTqjIO0ByMCzSnJ8cHjjReMH1AuvoZNjU11d2AtLszNjZ2SFAMDQ1N3gYHBxkYHGBwMBgXKBYP/VuIpWOUWkpBS6Kt0rJoIwiN6Q4eI5gsBBgFRsAyBiMQy8SwjOETh36ITc1NtLe309nZyZLOJZM79IN38NXxhOp1EOZD5McI5oq7MzExMTngOP02MjJywC9scD/EwOAgw0NDjI1NHa9ssQZKLV0UOs7AU2009P+cxGgfXpgadE4kk7S3t7OkcwmdnYf/paoO9k7fuTc2Ni66wcMTbfrnWP0sM5lM0Fdd+QwPeDw0yNDgIEMjI5MDyl3NsLJlgpFCjOeGGyiVgxBubUnT3t5OR+eB3/ba29sPeNzc3HzATl2Hnh6b6lFC1b+3ffv2sXv3bnbt2sVLL7/E7t27KUxMtdRiqRjl1jLl1vJUQDQHXTeMACMQz8YhA16a2i+2d7SzonsFK1asoLu7m+XLl9PZ2UlnZyft7e0L+iiiSI8RzCUzI5VKkUql6OjoOKbXTkxMMDg4yM6dO/npT3/K4088wfPPPQpA19JTeNNbLuX888/n3HPPZenSpTQ1HWmkS47XbD/H6kEIPT09PPTQQzz6+OMAXHvttbzpTW/iDW94w4LeMSwmZjZ5lNzy5csP+Xm5XKavr49du3ZN3l7e9TIvv/wymZcyh7zX0lOWsmrtKrq7u+nu7ubMM8+ku7v7hA3cLmRqEYTI3XnHO94BwAMPPKAdf53JZDJceeWVpFIpHnzwwbDLkWMwNDTEBz/4QbLZLLfeeisbN25clAGuaxbXgendNwqB+qNLHdav6sl+gFpxKAhEJKKqh88utIMiwqAgEBGJOAWBiEjEKQhERCJOQSAiEnEKAhGRiFMQiIhEnIJARCKpHk6mnS8KAhGRiAslCMxso5ntNLPnzey2MGoQEQEql42NtnkPAjOLA18BfhU4F7jWzM6d7zpEjpe6Fupb9fPL5XIzrLn4hdEiuAh43t1fdPcJ4B7gPSHUIXJcNNV3fat+fvv27Qu5kvCFEQSnA7+Yttxbee4AZnaTmfWYWU9/f/+8FSdSK7UIFofh4eGwSwhdGEFwuK9Rh/xFufsd7r7e3dd3dXXNQ1kiEiXVsQF1DYUTBL3AGdOWlwNHv5qzyAI2n5celBOn2qI77bTTQq4kfGEEwWPA2Wa20sySwDXAd0KoY0G49NJLWbJkSdhlyCykUim6u7u55ZZbwi5FZmHDhg0AnHXWWeEWsgCEcoUyM7sC+CIQB/7W3f/4aOsv1iuUARQKBcbHx2ltbQ27FJFIyefzvPLKK6xatSrsUubMgr5msbtvBjaHse2FJpFI6MIYIiFIpVKLOgSOhc4sFhGJOAWBiEjEKQhERCJOQSAiEnEKAhGRiFMQiIhEnIJARCTiQjmh7FiZWT+wK+w65tDJgKZArE/67OrbYv/8ut19xsna6iIIFjsz66nl7D9ZePTZ1Td9fgF1DYmIRJyCQEQk4hQEC8MdYRcgs6bPrr7p80NjBCIikacWgYhIxCkIQmRmG81sp5k9b2a3hV2P1M7M/tbM+sxse9i1yLExszPMbIuZ7TCzp83s42HXFDZ1DYXEzOLAz4HLCS7f+Rhwrbs/E2phUhMzezuQBf7B3deFXY/UzsyWAcvc/XEzawW2AVdH+W9PLYLwXAQ87+4vuvsEcA/wnpBrkhq5+8PAQNh1yLFz9z3u/njlcQbYAZweblXhUhCE53TgF9OWe4n4L6PIfDOzFcCFwNZwKwmXgiA8dpjn1E8nMk/MrAW4D7jF3UfCridMCoLw9AJnTFteDrwaUi0ikWJmCYIQuNvdvx12PWFTEITnMeBsM1tpZkngGuA7IdcksuiZmQFfBXa4+5+FXc9CoCAIibsXgY8CDxAMVt3r7k+HW5XUysy+DjwCvM7Mes3sxrBrkpq9FfgQcKmZPVm5XRF2UWHS4aMiIhGnFoGISMQpCEREIk5BICIScQoCEZGIUxCIiEScgkBEJOIUBFK3zOzHNaxzi5k1z3EdF8x0HLqZ/aaZ/cUJ3u4Jf0+JJgWB1C13f0sNq90CHFMQVKYIPxYXAJE+IUnqm4JA6paZZSv3G8zs38zsW2b2rJndbYGbgdOALWa2pbLuu83sETN73My+WZl4DDN72cw+Y2b/AbzfzFab2T+b2TYz+3czO6ey3vvNbLuZPWVmD1emB/ks8IHKGaofqKHuLjO7z8weq9zeamaxSg0d09Z73sxOOdz6J/w/UyKtIewCRE6QC4HXE0zc9yPgre7+ZTP7BPBOd99nZicDnwYuc/dRM/td4BMEO3KAcXf/ZQAz+yHwYXd/zszeDPwlcCnwGeBX3P0VM+tw9wkz+wyw3t0/WmOtXwL+3N3/w8zOBB5w97Vmdj/wXuDvKtt82d33mtnXDl4fWHuc/18ikxQEslg86u69AGb2JLAC+I9Y2PqBAAABd0lEQVSD1rkYOBf4UTDvGEmC+YKqvlF5fQvwFuCblfUAUpX7HwF/b2b3ArOdtfIy4Nxp791WuVLWNwiC5u8IJiH8xgzri5wQCgJZLPLTHpc4/O+2AQ+6+7VHeI/Ryn0MGHL3Cw5ewd0/XPm2fiXwpJkdsk4NYsAl7j52QHFmjwBnmVkXcDXwRzOsP4tNixxKYwSy2GWA6rfnnwBvNbOzAMys2czWHPyCykVKXjKz91fWMzM7v/J4tbtvdffPAPsIrikxfRu1+AHBzLNU3vOCynYd+CfgzwimSN5/tPVFThQFgSx2dwDfN7Mt7t4P/CbwdTP7KUEwnHOE1/06cKOZPQU8zdT1pL9gZj8zs+3Aw8BTwBaCrpuaBouBm4H1ZvZTM3sG+PC0n30D+A2muoVmWl/kuGkaahGRiFOLQEQk4jRYLHICmdkNwMcPevpH7v6RMOoRqYW6hkREIk5dQyIiEacgEBGJOAWBiEjEKQhERCJOQSAiEnH/H2oPxNNco4AeAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1a1847cfcc0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.violinplot(y = 'bathrooms', x = 'interest_level', data= data_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "bathrooms >5 count: 12 percent: 0.00024315124007132436\n"
     ]
    }
   ],
   "source": [
    "print('bathrooms >5 count:', data_train[data_train.bathrooms >5].shape[0], 'percent:', data_train[data_train.bathrooms >5].shape[0]/data_train.shape[0])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "> 将bathrooms大于4的点都看成是噪声点"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1    15752\n",
      "2    14623\n",
      "0     9475\n",
      "3     7276\n",
      "4     1929\n",
      "5      247\n",
      "6       46\n",
      "8        2\n",
      "7        2\n",
      "Name: bedrooms, dtype: int64\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1a184aca550>"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1a185069ba8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "print(data_train['bedrooms'].value_counts())\n",
    "sns.countplot(data_train['bedrooms'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1a185072c18>"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1a184f87208>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.violinplot(x = 'bedrooms', y = 'interest_level', data= data_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "bedrooms >6 count: 4 percent: 8.105041335710812e-05\n"
     ]
    }
   ],
   "source": [
    "print('bedrooms >6 count:', data_train[data_train.bedrooms >6].shape[0], 'percent:', data_train[data_train.bedrooms >6].shape[0]/data_train.shape[0])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1a185171320>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(10,5))\n",
    "plt.scatter(range(data_train.shape[0]),np.sort(data_train['price']))\n",
    "plt.xlabel('index',fontsize=12)\n",
    "plt.ylabel('price',fontsize=12)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "三、数据处理\n",
    "----------"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [],
   "source": [
    "dpath_out = '.\\\\out\\\\'\n",
    "def process_bathrooms(df):\n",
    "    df.loc[df.bathrooms > 5, [ 'bathrooms', 'price_bathrooms', 'room_diff', 'room_num']] = np.nan\n",
    "    df.loc[df.bedrooms > 6, [ 'bedrooms', 'price_bedrooms', 'room_diff', 'room_num']] = np.nan\n",
    "    \n",
    "    return df\n",
    "\n",
    "data_train_copy = data_train.copy()\n",
    "data_test_copy = data_test.copy()\n",
    "           \n",
    "data_train_copy = process_bathrooms(data_train_copy)\n",
    "data_test_copy = process_bathrooms(data_test_copy)\n",
    "\n",
    "X_train, X_test, Y_train, Y_test = train_test_split(data_train_copy.drop(['interest_level'], axis = 1), data_train_copy['interest_level'], test_size = 0.2, random_state = 4)\n",
    "\n",
    "X_train['interest_level'] = Y_train\n",
    "X_test['interest_level'] = Y_test\n",
    "\n",
    "X_train.to_csv(dpath_out + 'RentListingInquries_FE_train_train.csv', index=False)\n",
    "X_test.to_csv(dpath_out + 'RentListingInquries_FE_train_test.csv', index=False)\n",
    "data_test_copy.to_csv(dpath_out + 'RentListingInquries_FE_test.csv', index=False)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
